package com.yugao.fintech.antelope.member.model.rqrs.user;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yugao.fintech.antelope.base.model.module.dict.CusFieldBind;
import com.yugao.fintech.antelope.base.model.module.dict.DictTypeCons;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 会员用户
 */
@Getter
@Setter
@Accessors(chain = true)
public class MemberUserBase {
    @ApiModelProperty(value = "用户名")
    private String userName;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "真实姓名")
    private String realName;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "帐号状态")
    private String status;

    @ApiModelProperty(value = "性别")
    @CusFieldBind(type = DictTypeCons.USER_SEX, target = "sexText")
    private String sex;

    @ApiModelProperty(value = "性别")
    private String sexText;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "生日")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    @ApiModelProperty(value = "当前用户前端的主页面地址")
    private String homePath;

    @ApiModelProperty(value = "地址-省份id")
    private Long provinceId;

    @ApiModelProperty(value = "地址-市id")
    private Long cityId;

    @ApiModelProperty(value = "地址-区id")
    private Long districtId;

    @ApiModelProperty(value = "详细地址")
    private String address;

    @ApiModelProperty(value = "完整地址")
    private String fullAddress;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "最后登录ip")
    private String lastLoginIp;

    @ApiModelProperty(value = "最后登录时间")
    private Date lastLoginDate;

    @ApiModelProperty(value = "会员等级id")
    private Long levelId;
}
